package com.itawei.d2_UDP;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class ReceiveMessage
{
    public static void main(String[] args) throws IOException {
        //接收数据
        //1.创建一个DatagramSocket对象，准备接收数据 (一定要加端口 而且是另外一台设备发送数据时所到的端口)
        DatagramSocket ds = new DatagramSocket(10086);
        //2.接收数据包
        // 拿一个箱子接收数据
        byte[] bytes = new byte[1024];//定义一个数组 用于接收数据
        DatagramPacket dp = new DatagramPacket(bytes,bytes.length);
        ds.receive(dp);

        //3.解析数据包
        InetAddress address = dp.getAddress();//发送端设备的ip地址
        byte[] data = dp.getData();//发送端发送的数据
        int length = dp.getLength();//发送端发送数据的长度
        int port = dp.getPort();//发送端设备的端口号
        System.out.println("发送端电脑的地址：" + address.getHostAddress()+"\n" +
                "发送的数据为："+new String(data,0,length)+"\n" +
                "发送的端口号："+port);
    }
}
